<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="../react18/react.development.js"></script>
  <script src="../react18/react-dom.development.js"></script>
  <script src="../react18/babel.min.js"></script>
</head>

<body>
  <div id="app"></div>
  <script type="text/babel">
    /* 
      组件实例有一个state属性,当state属性发生改变的时候,组件会重新执行render得到一个新的虚拟DOM,然后开始diffing算法,并重新渲染
    
    */
    class Content extends React.Component{
      //state:定义当前组件内部的状态,状态是当前组件私有的
        state = {
            name:'keyL',
            age:18,
            hobby:'乐姐',
            isLove:true
        }
      
        render(){
            console.log("我render了",this);
            //this（组件实例）:Content
                        // context: {}
                        // props: {}
                        // refs: {}
                        // state: {name: 'keyL', age: 18, hobby: '乐姐', isLove: true}
                        // updater: {isMounted: ƒ, enqueueSetState: ƒ, enqueueReplaceState: ƒ, enqueueForceUpdate: ƒ}
                        // _reactInternalInstance: {_processChildContext: ƒ}
                        // _reactInternals: FiberNode {tag: 1, key: null, stateNode: Content, elementType: ƒ, type: ƒ, …}
                        // isMounted: （…）
                        // replaceState: （…）
                        // [[Prototype]]: Component
            const {name,age,hobby,isLove} = this.state
            return (
                <ul>
                    <li>{name}</li>
                    <li>{age}</li>
                    <li>{hobby}</li>
                    <li>{isLove?'keyL爱乐姐':'keyL爱啊呜'}</li>
                </ul>

            )
        }
    }

    const root = ReactDOM.createRoot(document.getElementById('app')).render(<Content/>)

  


  </script>
</body>

</html>